send header nibble '8' count-low octet count-high octet ... data octets checksum octet
Each octet is sent as <wait for rx. '1'> <send 0x10+(octet&0x0F)> <wait for rx. '0'> <send 0x00+((octet»4)&0x0F)>
To start a transfer the transmitting machine outputs a nibble 0x08. The raises the ACK line, triggering an interrupt in the receiving machine. The receiving machine disables
Restated:
(OUT is bit 0-4, OUT.j is bit j from OUT. IN likewise) Send_Byte: OUT := low nibble, OUT.4 := 1 WAIT FOR IN.4 = 1 OUT := high nibble, OUT.4 := 0 WAIT FOR IN.4 = 0